package com.wctj.api.business.common.dto;

import java.time.LocalDateTime;

/**
 * 开放平台支付各事件消息记录
 * @author carol
 * @date   2024-09-27 13:05:04
 */
public class DdwxPaymentMessageInfoDTO {

    private Long id;

    /**
     *业务编号
     */
    private String bizCode;

    /**
     *事件类型Eg:payment,refund...
     */
    private String eventType;

    /**
     *产生数据的支付平台目前有（招商 CMB,汇付天下 HUIFU_ADAPAY...）
     */
    private String platform;

    /**
     *开放平台生成的支付订单号
     */
    private String payOrderNum;

    /**
     *0：进行中，1：完成，2：失败
     */
    private Integer status;

    /**
     *回调通知URL地址
     */
    private String notifyUrl;

    /**
     *推送状态：0未处理，1成功，2失败
     */
    private Integer pushStatus;

    /**
     *重试推送次数
     */
    private Integer pushRetryCnt;

    /**
     *推送时间
     */
    private LocalDateTime pushTime;

    /**
     *乐观锁机制
     */
    private Integer version;



    /**
     *原事件的请求参数体
     */
    private String requestBody;

    /**
     *事件接收到的参数消息内容
     */
    private String responseMsg;

    /**
     *回调消息体
     */
    private String notifyRequestMsg;

    /**
     *推送消息
     */
    private String pushMsg;



    public DdwxPaymentMessageInfoDTO(Long id) {
        this.id = id;
    }

    public DdwxPaymentMessageInfoDTO(Long id, Integer pushStatus,LocalDateTime pushTime) {
        this.id = id;
        this.pushStatus = pushStatus;
        this.pushTime = pushTime;
    }

    public DdwxPaymentMessageInfoDTO() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBizCode() {
        return bizCode;
    }

    public void setBizCode(String bizCode) {
        this.bizCode = bizCode;
    }

    public String getEventType() {
        return eventType;
    }

    public void setEventType(String eventType) {
        this.eventType = eventType;
    }

    public String getPlatform() {
        return platform;
    }

    public void setPlatform(String platform) {
        this.platform = platform;
    }

    public String getPayOrderNum() {
        return payOrderNum;
    }

    public void setPayOrderNum(String payOrderNum) {
        this.payOrderNum = payOrderNum;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public Integer getPushStatus() {
        return pushStatus;
    }

    public void setPushStatus(Integer pushStatus) {
        this.pushStatus = pushStatus;
    }

    public Integer getPushRetryCnt() {
        return pushRetryCnt;
    }

    public void setPushRetryCnt(Integer pushRetryCnt) {
        this.pushRetryCnt = pushRetryCnt;
    }

    public LocalDateTime getPushTime() {
        return pushTime;
    }

    public void setPushTime(LocalDateTime pushTime) {
        this.pushTime = pushTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getRequestBody() {
        return requestBody;
    }

    public void setRequestBody(String requestBody) {
        this.requestBody = requestBody;
    }

    public String getResponseMsg() {
        return responseMsg;
    }

    public void setResponseMsg(String responseMsg) {
        this.responseMsg = responseMsg;
    }

    public String getNotifyRequestMsg() {
        return notifyRequestMsg;
    }

    public void setNotifyRequestMsg(String notifyRequestMsg) {
        this.notifyRequestMsg = notifyRequestMsg;
    }

    public String getPushMsg() {
        return pushMsg;
    }

    public void setPushMsg(String pushMsg) {
        this.pushMsg = pushMsg;
    }
}